<?php
/* FIRST TUESDAY MEMBERS WIDGET */

class FT_Members_Widget extends WP_Widget {

	// Constructor del widget
	function FT_Members_Widget() {
		// Informacion basica del widget
		$datos_widget = array('classname' => 'ft_members_widget', 'description' => 'Widget que muestra los usuarios registrados en este blog, con parte de sus respectivos datos personales.' );
		$this->WP_Widget($datos_widget['classname'], 'Miembros de First Tuesday', $datos_widget);
	}

	// Muestra el widget
	function widget($args, $instance) {
		global $ft;
		
		extract($args);

		// Definicion del titulo del widget
		$titulo = 'Miembros de '.FT_Info('blog-name', false);
		$miembros_max = $instance['miembros_max'];
		
		echo $before_widget;
		echo $before_title.$titulo.$after_title;

		if($ft->site_id != $ft->blog_id)
			$a_title_extra = 'First Tuesday ';
		
		if(!is_blog_user()) :
			$a_href = FT_URL('blog-'.BP_REGISTER_SLUG, false);
			
			if(FT_Info('current'))
				$a_href = '#';		
		?>
		
			<a href="<?php echo $a_href; ?>" title="<?php echo __('Registrate en ', 'firsttuesday').FT_Info('blog-long_name', false); ?>">
				<img src="<?php echo FT_WIDGETS_URL; ?>/images/boton_registro.png" />
			</a>
		<?php
		endif;
		?>
		<ul id="members-list" class="item-list">
			<?php
				// Determina si hay o no miembros del blog
				if(FT_Hay_Objs('blog-users')) :
					// Loop con todos los miembros y sus datos arrojados por la consulta
					$i = 1;

					while(FT_Hay_Objs('blog-users', $miembros_max)) :
						FT_El_Obj();
						
						$class = '';
						if($i == 1)
							$class = ' primero';
						elseif($i == $miembros_max)
							$class = ' ultimo';
			?>
						<li class="item<?php echo $class; ?>">
							<div class="item-imagen">
								<a href="<?php FT_URL('user-base'); ?>" title="<?php FT_Info('user-name'); ?>">
									<?php FT_User_Avatar(48); ?>
								</a>
							</div>
							<div class="item-info">
								<h2 class="item-titulo">
									<a href="<?php FT_URL('user-base'); ?>" title="<?php FT_Info('user-name'); ?>">
										<?php FT_Info('user-name'); ?>
									</a>
								</h2>
								<ul class="item-campos campos-list">
									<?php
										$campos_extra = FT_Info('user-extra', false);
									?>
									
									<?php if(isset($campos_extra['pais-de-residencia'])) : ?>
										<li class="item-pais">
											<a href="<?php FT_URL_Tag($campos_extra['pais-de-residencia']['value']); ?>" title="<?php echo $campos_extra['pais-de-residencia']['name'].': '.$campos_extra['pais-de-residencia']['value']; ?>">
												<?php echo $campos_extra['pais-de-residencia']['value']; ?>
											</a>
										</li>
									<?php endif; ?>
									
									<?php if(isset($campos_extra['organizacion'])) : ?>
										<li class="item-organizacion">
											<a href="<?php FT_URL_Tag($campos_extra['organizacion']['value']); ?>" title="<?php echo $campos_extra['organizacion']['name'].': '.$campos_extra['organizacion']['value']; ?>">
												<?php echo $campos_extra['organizacion']['value']; ?>
											</a>
										</li>
									<?php endif; ?>
										
									<?php
										if(isset($campos_extra['area-de-trabajo'])) :
											$a_tags = array();
											foreach((array) $campos_extra['area-de-trabajo']['value'] as $area) :
												$a_tags[] = '<a href="'.FT_URL_Tag($area, 'blog', false).'" title="'.$campos_extra['area-de-trabajo']['name'].': '.$area.'">'.$area.'</a>';
											endforeach;
									?>
											<li class="item-areas">
												<?php echo implode(', ', $a_tags); ?>
											</li>
									<?php endif; ?>
									
									<?php
										$a_href = FT_URL('blog-'.BP_REGISTER_SLUG, false);
										
										if(!FT_Es_Contacto()) :
											$class = 'log-in-link';
											if(is_user_logged_in())
												$class = 'add-contact-link';
									?>
											<li class="item-agregar">
												<a href="#" title="<?php _e('Agregar como contacto', 'firsttuesday'); ?>" class="<?php echo $class; ?>">
													<?php _e('Agregar como contacto', 'firsttuesday'); ?>
												</a>
											</li>
									<?php
										endif;
									?>
								</ul>
								
								<?php if(isset($campos_extra['acerca-de-mi'])) : ?>
									<div class="item-campos-especial">
										<h2>
											<?php FT_Info('user-name'); ?>
										</h2>
										<?php echo $campos_extra['acerca-de-mi']['value']; ?>
									</div>
								<?php endif; ?>
								
							</div>
							<div class="clear"></div>
						</li>
			<?php
						$i++;
					endwhile;
			?>
					<li class="item-more">
						<a href="<?php FT_URL('blog-'.BP_MEMBERS_SLUG); ?>" title="<?php _e('Ver más', 'firsttuesday'); ?>">
							<?php _e('Ver más', 'firsttuesday'); ?>
						</a>
					</li>
			<?php
				else :
			?>
					<li class="widget-error">
						<?php _e('Aún no hay miembros', 'firsttuesday'); ?> <a href="<?php FT_URL('blog-'.BP_REGISTER_SLUG); ?>" title="<?php _e('Sign Up', 'firsttuesday'); ?>"><?php _e('Sign Up', 'firsttuesday'); ?></a>
					</li>
			<?php
				endif;
			?>
		</ul>
		
		<form action="<?php echo bp_search_form_action(); ?>" method="post" id="search-form">
			<input type="text" id="search-terms" name="search-terms" value="" />
			<input type="hidden" name="search-which" id="search-which" value="members" />
			
			<input type="submit" name="search-submit" id="search-submit" value="<?php _e('Search', 'buddypress'); ?>" />
			
			<?php wp_nonce_field('bp_search_form'); ?>
		</form>
			
	<?php
		echo $after_widget;
	}

	// Actualiza la configuracion del widget
	function update($new_instance, $old_instance) {
		$instance = $old_instance;
		$instance['miembros_max'] = strip_tags($new_instance['miembros_max']);

		return $instance;
	}

	// Muetra el formulario de administracion del widget
	function form($instance) {
		$instance = wp_parse_args((array) $instance, array('miembros_max' => 5));
		$miembros_max = strip_tags($instance['miembros_max']);
	?>
		<p>
			<label for="<?php echo $this->get_field_id('miembros_max'); ?>">
				Cantidad de miembros a mostrar: <input class="widefat" id="<?php echo $this->get_field_id('miembros_max'); ?>" name="<?php echo $this->get_field_name('miembros_max'); ?>" type="text" value="<?php echo attribute_escape($miembros_max); ?>" style="width: 30%" />
			</label>
		</p>
	<?php
	}
}
?>